#encoding: utf-8
class ParcelasController < ApplicationController

	before_filter :load_parcela
	
	#
	#
	def quitar
		if @parcela.quitada?
			redirect_to parcelado_path(@parcela.parcelado), :alert => "Operação inválida" and return
		end
	
		conta = Conta.find(params[:conta_id])
		unless belongs_to_current_usuario?(conta)
			redirect_to root_path, :alert => "Operação inválida" and return
		end
		
		date = params[:date]
		
		@quitado_em = Date.new(date[:year].to_i, date[:month].to_i, date[:day].to_i)
		
		@parcela.build_debito(:valor => @parcela.valor,
			:observacao => @parcela.observacao,
			:quitada => true,
			:data => @quitado_em, :conta => conta)

		if @parcela.save
			redirect_to parcelado_path(@parcela.parcelado), :notice => "Parcela quitada com sucesso"
		else
			render parcela_path(@parcela)
		end

	end
	
	#
	#
	def show
		@quitado_em = Date.today
		@parcelado = @parcela.parcelado
	end

	private
	
	#
	#
	def load_parcela
		begin
			@parcela = Parcela.find(params[:id])
		rescue ActiveRecord::RecordNotFound
			redirect_to root_path, :alert => "Parcela inválida" and return
		end
		
		unless belongs_to_current_usuario?(@parcela.parcelado)
			redirect_to root_path, :alert => "Operação inválida" and return
		end
	end

end
